package com.gcb.domain.dto;

import cn.hutool.core.lang.RegexPool;
import cn.hutool.core.util.PhoneUtil;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.io.Serializable;

@Data
public class OrderCargoSaveDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 订单ID
     */
    private Long id;

    /**
     * 归属企业id
     */
    @NotNull(message = "归属企业不能为空")
    private Long companyId;

    /**
     * 始发港
     */
    @NotBlank(message = "始发港不能为空")
    private String originPortName;

    /**
     * 目的港
     */
    @NotBlank(message = "目的港不能为空")
    private String destPortName;

    /**
     * 货物名称
     */
    @NotBlank(message = "货物名称不能为空")
    private String cargoName;

    /**
     * 货物重量
     */
    @NotBlank(message = "货物重量不能为空")
    private String cargoWeight;

    /**
     * 装货日期
     */
    @NotBlank(message = "装货日期不能为空")
    private String cargoDate;

    /**
     * 浮动天数
     */
    @NotNull(message = "浮动天数不能为空")
    private Integer floatingDays;

    /**
     * 价格类型 1:一口价 2:价格面议
     */
    @NotNull(message = "价格类型不能为空")
    private Integer priceType;

    /**
     * 价格（分）
     */
    @NotNull(message = "价格不能为空")
    @Size(message = "价格必须大于等于0")
    private Integer price;

    /**
     * 联系人
     */
    @NotBlank(message = "联系人不能为空")
    private String contacts;

    /**
     * 联系人手机号
     */
    @NotBlank(message = "联系人手机号不能为空")
    @Pattern(regexp = RegexPool.MOBILE, message = "手机号格式不正确")
    private String contactPhone;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建类型
     */
    private String createType;

}

